
package com.sasis.dao.ibatis;

import java.util.List;

import com.sasis.dao.ibatis.BaseDaoiBATIS;
import com.sasis.model.WtUser;
import com.sasis.dao.WtUserDao;

import org.springframework.orm.ObjectRetrievalFailureException;

public class WtUserDaoiBatis extends BaseDaoiBATIS implements WtUserDao {

    /**
     * @see com.sasis.dao.WtUserDao#getWtUsers(com.sasis.model.WtUser)
     */
    public List getWtUsers(final WtUser wtUser) {
          return getSqlMapClientTemplate().queryForList("getWtUsers", null);
    }

    /**
     * @see com.sasis.dao.WtUserDao#getWtUser(String wtUserid)
     */
    public WtUser getWtUser(String wtUserid) {
        WtUser wtUser = (WtUser) getSqlMapClientTemplate().queryForObject("getWtUser", wtUserid);

        /*if (wtUser == null) {
            throw new ObjectRetrievalFailureException(WtUser.class, wtUserid);
        }*/

        return wtUser;
    }

    /**
     * @see com.sasis.dao.WtUserDao#saveWtUser(WtUser wtUser)
     */    
    public void saveWtUser(final WtUser wtUser) {
        String wtUserid = wtUser.getWtUserid();
        // check for new record
        if( wtUserid == null ) {
            throw new ObjectRetrievalFailureException(WtUser.class, wtUserid);
        }
        wtUserid = (String) getSqlMapClientTemplate().insert("addWtUser", wtUser); 
        
    }
    /**
     * @see com.sasis.dao.WtUserDao#saveWtUser(WtUser wtUser)
     */    
    public void updateWtUser(final WtUser wtUser) {
    	String wtUserid = wtUser.getWtUserid();
    	 if( wtUserid == null ) {
             throw new ObjectRetrievalFailureException(WtUser.class, wtUserid);
         }
    	getSqlMapClientTemplate().update("updateWtUser", wtUser);  
    }
    /**
     * @see com.sasis.dao.WtUserDao#removeWtUser(String wtUserid)
     */
    public void removeWtUser(String wtUserid) {
        getSqlMapClientTemplate().update("deleteWtUser", wtUserid);
    }
}
